package cn.aggregate.HashSet;

import java.util.HashSet;

/*
HashSet存储自定义类型元素
set集合保证元素唯一：
    存储的元素（String，Integer,...Student，person,...），必须重写Hashcode方法和equals方法
    要求：
    同名同年龄的人，视为同一个人，只能存储一次
 */
public class Dome03HashsetSavePerson {
    public static void main(String[] args) {
        //创建Hashset集合存储Person
        HashSet<Person> set = new HashSet<>();
        Person p1 = new Person("艾莉森",18);
        Person p2 = new Person("艾莉森",18);
        Person p3 = new Person("艾莉森",19);
        //没有重写Hashcode他们的哈希值是不一样的
        System.out.println(p1.hashCode());//189568618
        System.out.println(p2.hashCode());//793589513
        System.out.println(p1==p2);//false
        System.out.println(p1.equals(p2));//false
        set.add(p1);
        set.add(p2);
        set.add(p3);
        System.out.println(set);

    }
}
